The present invention relates to a client apparatus for updating data.
The World Wide Web is the Internet's multimedia information retrieval system. In the web environment, a client machine communicates with a web server using the Hypertext Transfer Protocol (HTTP).
With reference to FIG. 1, there is shown a system (100) in which a web browser (110), an application running on a client computer (105), renders a web page (115) by requesting the web page from a web server (120). Such a web page is constructed using a markup language such as Hypertext Markup Language (HTML), Extensible Hypertext Markup Language (XHTML) etc.
In the prior art, the web browser can be automatically invoked to initiate a refresh of the complete content of a web page periodically (e.g. every 2 minutes). In some cases, this may be acceptable to a user.
However, in other cases this is not desirable. For example, a web page may include share prices that are refreshed periodically and a form that a user can fill in. If a user has partially completed the form on the webpage when the complete web page refreshes, the user may lose data that they have already entered into the form. This can obviously be frustrating to a user. Furthermore, a full web page refresh can be very slow and cause the screen to flicker.
U.S. Pat. No. 6,377,957 discloses a system that propagates changes in hierarchically organized data to remotely cached copies of the data. The system operates by receiving an access to the data at a client. In response to this access, the system determines if the client contains a copy of the data. If so, the system sends a request to a server for an update to the copy. The server receives the request and determines differences between the current version of the data at the server and an older copy of the data at the client, which the server has stored locally. These differences are used to construct an update for the copy of the data, which may include node insertion and node deletion operations for hierarchically organized nodes in the data. Next, the update is sent to the client where it is applied to the copy of the data to produce an updated copy of the data. Finally, the original access is allowed to proceed on the updated copy of the data.